Modern cellular networks (e.g., long term evolution (LTE)) rely on multiple antennas, both at a base station (also referred to as an evolved node B (eNB) and at a mobile terminal (also referred to as a user equipment (UE)), in order to increase network capacity and data rate for users. A communication system with multiple antennas at a transmitter side and a receiver side is referred to as a MIMO system.
There has been a steady increase in the number of antennas in a MIMO system, especially at the eNB side, in an effort to achieve higher spatial multiplexing and diversity gains (which result in more data streams transmitted simultaneously and higher signal-to-noise ratios (SNRs) for the served users), as well as better coverage by forming narrow beams or virtual sectors in a cell. For example, the latest release of LTE (Release 13), in 2015, introduced the feature of “full dimension (FD)/elevation beamforming (EB) MIMO,” whereby the eNB supports two dimensional (vertical and horizontal) antenna arrays with 8 transceiver units, which translates to 16 antenna ports (taking into account the polarization dimension) from the UE point of view.
The trend towards higher-dimensional MIMO systems is expected to continue with the next generation of cellular networks (e.g. 5G), which will likely support even larger antenna arrays. The performance of a MIMO communication system strongly depends on the selection of an appropriate precoding matrix to adapt a transmitted signal to a wireless channel. As a wireless channel is time-varying, it is essential to update a precoding matrix often enough to follow the channel variations. However, this requires feedback of channel state information (CSI) from a UE to an eNB. Hence, a trade-off must be determined between the conflicting requirements of frequent feedback (for better CSI accuracy) and limited feedback (so as to leave more bandwidth for data transmission). Practical systems such as LTE address this issue by specifying a pre-defined set of precoding matrices (also referred to as a codebook), known to both an eNB and a UE, so that the UE may select a certain matrix (also referred to as a codeword) from the codebook by indicating its index.
As the number of antennas and beamforming dimensions increase, the codebook size also increases. Therefore, it becomes increasingly challenging for the UE to efficiently search for the best candidate codeword in a codebook.